This invention relates to a method for controlling data flow associated with a communications node; more specifically a communications node that services a wireless communications system.
A communications node is a computer or another network element that communicates with a communications network. A communications node may be configured to control store-and-forward operations between an input and an output of the communications node. In particular, the communications node may manage buffer memory to control store-and-forward operations. The management of the buffer memory may include an admission control approach for admitting data messages with time-out constraints. A time-out constraint provides an indication of the freshness or staleness of a data message stored in the communications node. A time-out constraint defines a maximum desired time difference between admittance of the data message to buffer memory and the transmittance of the data message from the buffer memory.
Some admission control approaches waste buffer memory resources. For example, if data messages are admitted whenever storage space is available in the buffer memory, the communications node will sometimes waste storage space by admitting a data message which cannot be forwarded within its time-out constraint. Further, the storage space occupied by the held data message blocks prevents other messages from entering the buffer memory for a duration exceeding the time-out constraint of the held data message, reducing space available for other data messages which could meet their time-out constraints.
Some communication nodes may be fortified with supplemental buffer memory in an attempt to compensate for the foregoing inefficiencies in the management of the buffer memory. However, the cost of a communications node generally increases with the complexity and quantity of buffer memory. The communications nodes may suffer reduced throughput because their memory capacity can not be expanded beyond a limit. Thus, a need exists for managing admission priority of data messages to reduce buffer memory requirements or to enhance throughput performance.
In accordance with the invention, a method for controlling data flow in a store-and-forward communication node includes deciding whether to grant or deny admission of data messages to the communications node.
A communications node assigns priority value ratings for determining whether to admit a receive data message to a buffer memory of the communications node. A state detector detects if the buffer memory is congested by evaluating the occupancy rate of the buffer memory, or the occupancy rate of at least one queue within the buffer memory. The communications node defines a storage capacity range for each class of priority value ratings of the receive data messages. The communications node admits the receive data message to the buffer memory if the receive arriving message falls within the capacity range of its class of priority value ratings and if the buffer memory is not congested. If the receive arriving message falls within the capacity range, and if the buffer memory is congested, the communications node may delete a lower priority data message to make room for the arriving data message. The foregoing enhancement to a communications node is well-suited for reducing handling time per data message and total memory capacity required to service an anticipated load of data messages at the communications node.